import { asyncSlice, useAsyncSliceActions } from './slice.ts';
import { ReducerAdapter } from '@/core/injectReducerWrapper.ts';

const AsyncComponent = () => {
  const { increment, update } = useAsyncSliceActions();

  const cb = () => {
    update(6);
    return increment();
  };

  return (
    <div>
      <h1>Асинхронный компонент</h1>
      <button onClick={cb}>Действие с асинхронным редюсером</button>
    </div>
  );
};

const Wrapper = () => {
  return (
    <ReducerAdapter slice={asyncSlice} removeAfterUnmountAll>
      <AsyncComponent />
    </ReducerAdapter>
  );
};

export default Wrapper;
